# 获取对象信息
'''
当我们拿到一个对象的引用时，如何知道这个对象是什么类型，有哪些方法？
使用 type() 判断
'''
print(type(123)) # <class 'int'>
print(type('123')) # <class 'str'>


# 如果一个变量指向函数或者类，也可以用 type() 判断
print(type(abs)) # <class 'builtin_function_or_method'>

# 判断类型是否相同
print(type(123)==type(456)) # True

print('-' * 100)
# 使用isinstance()
# 对于class的继承关系来说，使用 type() 就很不方便，我们要判断class的类型，可以使用 isinstance()函数
print(isinstance(123, int))

print('-' * 100)
# 使用 dir()函数
print(dir('ABC'))